package alittlepond.world;

import static alittlepond.config.PropertyType.*;
import alittlepond.config.Property;
import alittlepond.config.PropertySpec;
import alittlepond.config.PropertyType;
import static alittlepond.config.PropertySpec.prop;

public enum WorldInitProperty implements Property {

	WIDTH(prop("Width",INT, 300)),
	HEIGHT(prop("Height",INT, 300)),
	FPS(prop("Frame rate", INT, 25)),
	
	
	;

	private PropertySpec spec;
	@Override public String getTitle() { return spec.getTitle(); }
	@Override public PropertyType getPropertyType() { return spec.getPropertyType(); }
	@Override public Object getDefaultValue() { return spec.getDefaultValue(); }
	@Override public Number getMinValue() {return spec.getMinValue();}
	@Override public Number getMaxValue() {return spec.getMaxValue();}
	@Override public Number getStepSize() {return spec.getStepSize();}
	private WorldInitProperty(PropertySpec spec) { this.spec = spec;}
}
